diff --git a/system/libraries/Input.php b/system/libraries/Input.php
index f113cff..e493f6d 100644
--- a/system/libraries/Input.php
+++ b/system/libraries/Input.php
@@ -379,36 +379,34 @@
 	/**
 	 * Validate IP Address
 	 *
+	 * Updated version suggested by Geert De Deckere
+	 * 
 	 * @access	public
 	 * @param	string
 	 * @return	string
 	 */
 	function valid_ip($ip)
 	{
-		if ( ! preg_match( "/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $ip))
+		$ip_segments = explode('.', $ip);
+		
+		// Always 4 segments needed
+		if (count($ip_segments) != 4)
 		{
 			return FALSE;
 		}
-		
-		$octets = explode('.', $ip);
-		
-		for ($i = 1; $i <= 4; $i++)
+		// IP cannot start with 0
+		if (substr($ip_segments[0], 0, 1) == 0)
 		{
-			$octet = intval($octets[($i-1)]);
-			if ($i === 1)
+			return FALSE;
+		}
+		// Check each segment
+		foreach ($ip_segments as $segment)
+		{
+			// IP segments must be digits and can not be 
+			// longer than 3 digits or greater then 255
+			if ( ! ctype_digit($segment) OR $segment > 255 OR strlen($segment) > 3)
 			{
-				if ($octet > 223 OR $octet < 1)
-					return FALSE;
-			}
-			elseif ($i === 4)
-			{
-				if ($octet < 1)
-					return FALSE;
-			}
-			else
-			{
-				if ($octet > 254)
-					return FALSE;
+				return FALSE;
 			}
 		}
 		
